Enterprise Version
layer after layer of architecture